home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 January: Mac OS SDK / Dev.CD Jan 97 SDK2.toast / Development Kits (Disc 2) / OpenDoc / OpenDoc Development / Debugging Support / OpenDoc™ Source Code / Storage / Draft.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  1996-08-28  |  19.3 KB  |  597 lines  |  [TEXT/MPS ]

  1. /*
  2.     File:        Draft.cpp
  3.  
  4.     Contains:    Implementation of ODDraft
  5.     
  6.     Owned by:    Vincent Lo
  7.  
  8.     Copyright:    © 1994 - 1995 by Apple Computer, Inc., all rights reserved.
  9.  
  10.     Change History (most recent first):
  11.  
  12.         <22>     9/11/95    VL        1283326: CreateFrame now takes ODObjectType
  13.                                     instead of ODType
  14.         <21>     8/25/95    JBS        1263078 FB: fix part editor swapping
  15.         <20>      8/3/95    RR        #1257260: Collapse B classes. Remove
  16.                                     somInit methods. Don't call IsInitialized
  17.                                     or SubclassResponsibility
  18.         <19>     6/23/95    JBS        1261323 Draft::CreateFrame: add isSubframe
  19.                                     param, remove isRoot
  20.         <18>     6/19/95    VL        1170098: Added DeleteRealPart.
  21.         <17>     5/26/95    VL        1251403: Multithreading naming support.
  22.         <16>     5/22/95    CC        1242879: Added IsValidID.
  23.         <15>     5/18/95    CC        1238898: Added destFrame parameter to
  24.                                     BeginClone.
  25.         <14>     5/17/95    VL        1170098: Added ConstructRealPart and
  26.                                     ReleaseRealPart.
  27.         <13>     1/18/95    VL        1193559: Two new methods
  28.                                     (AcquirePersistentObject and
  29.                                     GetPersistentObjectID).
  30.         <12>     1/11/95    VL        1185688: Made storage more robust in terms
  31.                                     of error handling. Also did some code
  32.                                     review cleanup.
  33.         <11>    12/15/94    CC        1193569 CreateLinkSpec() takes ODByteArray
  34.                                     parameter.
  35.         <10>     10/4/94    CC        1190858 - Added ReleaseLinkSource().
  36.          <9>     9/26/94    VL        1185419: Added SubClassResponsibility to
  37.                                     methods.
  38.          <8>      9/6/94    VL        1184177: Removed GetName and SetName.
  39.          <7>     8/26/94    VL        1183174: Added parameters to Clone and
  40.                                     implementation to the method.
  41.          <6>     8/16/94    VL        1143605: Added Clone.
  42.          <5>     8/15/94    VL        #???: Added frameType parameter to
  43.                                     CreateFrame.
  44.          <4>     8/12/94    JBS        1179919: add biasCanvas param to
  45.                                     Draft::CreateFrame()
  46.          <3>     8/11/94    CC        Added CreateLinkIterator() and
  47.                                     CreateLinkSourceIterator(), implementation
  48.                                     is subclass responsibility.
  49.          <2>      7/5/94    VL        Added SubClassResponsibility.
  50.          <1>     6/28/94    VL        first checked in
  51.  
  52.     To Do:
  53. */
  54.  
  55. #define ODDraft_Class_Source
  56. #include <Draft.xih>
  57.  
  58. SOM_Scope ODDocument*  SOMLINK ODDraftGetDocument(ODDraft *somSelf, Environment *ev)
  59. {
  60.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  61.     ODDraftMethodDebug("ODDraft","ODDraftGetDocument");
  62.  
  63.     WARN("A subclass should have overridden this method!");
  64.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  65.     
  66.     return kODNULL;
  67. }
  68.  
  69. SOM_Scope ODDraftID  SOMLINK ODDraftGetID(ODDraft *somSelf, Environment *ev)
  70. {
  71.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  72.     ODDraftMethodDebug("ODDraft","ODDraftGetID");
  73.  
  74.     WARN("A subclass should have overridden this method!");
  75.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  76.     
  77.     return kODNULL;
  78. }
  79.  
  80. SOM_Scope ODStorageUnit*  SOMLINK ODDraftAcquireDraftProperties(ODDraft *somSelf, Environment *ev)
  81. {
  82.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  83.     ODDraftMethodDebug("ODDraft","ODDraftAcquireDraftProperties");
  84.  
  85.     WARN("A subclass should have overridden this method!");
  86.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  87.     
  88.     return kODNULL;
  89. }
  90.  
  91. SOM_Scope ODDraftPermissions  SOMLINK ODDraftGetPermissions(ODDraft *somSelf, Environment *ev)
  92. {
  93.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  94.     ODDraftMethodDebug("ODDraft","ODDraftGetPermissions");
  95.  
  96.     WARN("A subclass should have overridden this method!");
  97.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  98.     
  99.     return kODNULL;
  100. }
  101.  
  102. SOM_Scope ODStorageUnit*  SOMLINK ODDraftCreateStorageUnit(ODDraft *somSelf, Environment *ev)
  103. {
  104.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  105.     ODDraftMethodDebug("ODDraft","ODDraftCreateStorageUnit");
  106.  
  107.     WARN("A subclass should have overridden this method!");
  108.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  109.     
  110.     return kODNULL;
  111. }
  112.  
  113. SOM_Scope ODStorageUnit*  SOMLINK ODDraftAcquireStorageUnit(ODDraft *somSelf, Environment *ev,
  114.         ODStorageUnitID id)
  115. {
  116.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  117.     ODDraftMethodDebug("ODDraft","ODDraftAcquireStorageUnit");
  118.  
  119.     WARN("A subclass should have overridden this method!");
  120.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  121.     
  122.     return kODNULL;
  123. }
  124.  
  125. SOM_Scope void  SOMLINK ODDraftRemoveStorageUnit(ODDraft *somSelf, Environment *ev,
  126.         ODStorageUnit* storageUnit)
  127. {
  128.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  129.     ODDraftMethodDebug("ODDraft","ODDraftRemoveStorageUnit");
  130.  
  131.     WARN("A subclass should have overridden this method!");
  132.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  133. }
  134.  
  135. SOM_Scope ODBoolean  SOMLINK ODDraftIsValidID(ODDraft *somSelf, Environment *ev,
  136.         ODID id)
  137. {
  138.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  139.     ODDraftMethodDebug("ODDraft","IsValidID");
  140.  
  141.     WARN("A subclass should have overridden this method!");
  142.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  143.     
  144.     return kODFalse;
  145. }
  146.  
  147. SOM_Scope ODDraftKey  SOMLINK ODDraftBeginClone(ODDraft *somSelf, Environment *ev,
  148.         ODDraft* destDraft,
  149.         ODFrame* destFrame,
  150.         ODCloneKind kind)
  151. {
  152.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  153.     ODDraftMethodDebug("ODDraft","ODDraftBeginClone");
  154.  
  155.     WARN("A subclass should have overridden this method!");
  156.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  157.     
  158.     return 0;
  159. }
  160.  
  161. SOM_Scope void  SOMLINK ODDraftEndClone(ODDraft *somSelf, Environment *ev,
  162.         ODDraftKey key)
  163. {
  164.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  165.     ODDraftMethodDebug("ODDraft","ODDraftEndClone");
  166.  
  167.     WARN("A subclass should have overridden this method!");
  168.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  169. }
  170.  
  171. SOM_Scope void  SOMLINK ODDraftAbortClone(ODDraft *somSelf, Environment *ev,
  172.         ODDraftKey key)
  173. {
  174.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  175.     ODDraftMethodDebug("ODDraft","ODDraftAbortClone");
  176.  
  177.     WARN("A subclass should have overridden this method!");
  178.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  179. }
  180.  
  181. SOM_Scope ODID  SOMLINK ODDraftClone(ODDraft *somSelf, Environment *ev,
  182.         ODDraftKey key,
  183.         ODID fromObjectID,
  184.         ODID toObjectID,
  185.         ODID scope)
  186. {
  187.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  188.     ODDraftMethodDebug("ODDraft","ODDraftClone");
  189.  
  190.     WARN("A subclass should have overridden this method!");
  191.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  192.     return 0;
  193. }
  194.  
  195. SOM_Scope ODID  SOMLINK ODDraftWeakClone(ODDraft *somSelf, Environment *ev,
  196.         ODDraftKey key,
  197.         ODID objectID,
  198.         ODID toObjectID,
  199.         ODID scope)
  200. {
  201.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  202.     ODDraftMethodDebug("ODDraft","ODDraftWeakClone");
  203.  
  204.     WARN("A subclass should have overridden this method!");
  205.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  206.     return 0;
  207. }
  208.  
  209. SOM_Scope ODBoolean  SOMLINK ODDraftChangedFromPrev(ODDraft *somSelf, Environment *ev)
  210. {
  211.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  212.     ODDraftMethodDebug("ODDraft","ODDraftChangedFromPrev");
  213.  
  214.     WARN("A subclass should have overridden this method!");
  215.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  216.     
  217.     return kODFalse;
  218. }
  219.  
  220. SOM_Scope void  SOMLINK ODDraftSetChangedFromPrev(ODDraft *somSelf, Environment *ev)
  221. {
  222.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  223.     ODDraftMethodDebug("ODDraft","ODDraftSetChangedFromPrev");
  224.  
  225.     WARN("A subclass should have overridden this method!");
  226.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  227. }
  228.  
  229. SOM_Scope void  SOMLINK ODDraftRemoveFromDocument(ODDraft *somSelf, Environment *ev)
  230. {
  231.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  232.     ODDraftMethodDebug("ODDraft","ODDraftRemoveFromDocument");
  233.  
  234.     WARN("A subclass should have overridden this method!");
  235.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  236. }
  237.  
  238. SOM_Scope ODDraft*  SOMLINK ODDraftRemoveChanges(ODDraft *somSelf, Environment *ev)
  239. {
  240.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  241.     ODDraftMethodDebug("ODDraft","ODDraftRemoveChanges");
  242.  
  243.     WARN("A subclass should have overridden this method!");
  244.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  245.     
  246.     return somSelf;
  247. }
  248.  
  249. SOM_Scope ODDraft*  SOMLINK ODDraftExternalize(ODDraft *somSelf, Environment *ev)
  250. {
  251.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  252.     ODDraftMethodDebug("ODDraft","ODDraftExternalize");
  253.     
  254.     return somSelf;
  255. }
  256.  
  257. SOM_Scope ODDraft*  SOMLINK ODDraftSaveToAPrevious(ODDraft *somSelf, Environment *ev,
  258.         ODDraft* to)
  259. {
  260.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  261.     ODDraftMethodDebug("ODDraft","ODDraftSaveToAPrevious");
  262.  
  263.     WARN("A subclass should have overridden this method!");
  264.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  265.     
  266.     return somSelf;
  267. }
  268.  
  269. SOM_Scope ODFrame*  SOMLINK ODDraftCreateFrame(ODDraft *somSelf, Environment *ev,
  270.         ODObjectType    frameType,
  271.         ODFrame* containingFrame,
  272.         ODShape* frameShape,
  273.         ODCanvas* biasCanvas,
  274.         ODPart* part,
  275.         ODTypeToken viewType,
  276.         ODTypeToken presentation,
  277.         ODBoolean isSubframe,
  278.         ODBoolean isOverlaid)
  279. {
  280.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  281.     ODDraftMethodDebug("ODDraft","ODDraftCreateFrame");
  282.  
  283.     WARN("A subclass should have overridden this method!");
  284.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  285.     
  286.     return kODNULL;
  287. }
  288.  
  289. SOM_Scope ODFrame*  SOMLINK ODDraftAcquireFrame(ODDraft *somSelf, Environment *ev,
  290.         ODStorageUnitID id)
  291. {
  292.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  293.     ODDraftMethodDebug("ODDraft","ODDraftAcquireFrame");
  294.  
  295.     WARN("A subclass should have overridden this method!");
  296.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  297.     
  298.     return kODNULL;
  299. }
  300.  
  301. SOM_Scope void  SOMLINK ODDraftRemoveFrame(ODDraft *somSelf, Environment *ev,
  302.         ODFrame* frame)
  303. {
  304.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  305.     ODDraftMethodDebug("ODDraft","ODDraftRemoveFrame");
  306.  
  307.     WARN("A subclass should have overridden this method!");
  308.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  309. }
  310.  
  311. SOM_Scope ODPart*  SOMLINK ODDraftCreatePart(ODDraft *somSelf, Environment *ev,
  312.         ODType partType,
  313.         ODEditor optionalEditor)
  314. {
  315.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  316.     ODDraftMethodDebug("ODDraft","ODDraftCreatePart");
  317.  
  318.     WARN("A subclass should have overridden this method!");
  319.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  320.     
  321.     return kODNULL;
  322. }
  323.  
  324. SOM_Scope ODPart*  SOMLINK ODDraftAcquirePart(ODDraft *somSelf, Environment *ev,
  325.         ODStorageUnitID id)
  326. {
  327.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  328.     ODDraftMethodDebug("ODDraft","ODDraftAcquirePart");
  329.  
  330.     WARN("A subclass should have overridden this method!");
  331.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  332.     
  333.     return kODNULL;
  334. }
  335.  
  336. SOM_Scope void  SOMLINK ODDraftRemovePart(ODDraft *somSelf, Environment *ev,
  337.         ODPart* part)
  338. {
  339.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  340.     ODDraftMethodDebug("ODDraft","ODDraftRemovePart");
  341.  
  342.     WARN("A subclass should have overridden this method!");
  343.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  344. }
  345.  
  346. SOM_Scope ODLinkSpec*  SOMLINK ODDraftCreateLinkSpec(ODDraft *somSelf, Environment *ev,
  347.         ODPart* part,
  348.         ODByteArray* data)
  349. {
  350.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  351.     ODDraftMethodDebug("ODDraft","ODDraftCreateLinkSpec");
  352.  
  353.     WARN("A subclass should have overridden this method!");
  354.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  355.     
  356.     return kODNULL;
  357. }
  358.  
  359. SOM_Scope ODLinkSource*  SOMLINK ODDraftCreateLinkSource(ODDraft *somSelf, Environment *ev,
  360.         ODPart* part)
  361. {
  362.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  363.     ODDraftMethodDebug("ODDraft","ODDraftCreateLinkSource");
  364.  
  365.     WARN("A subclass should have overridden this method!");
  366.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  367.     
  368.     return kODNULL;
  369. }
  370.  
  371. SOM_Scope ODLinkSource*  SOMLINK ODDraftAcquireLinkSource(ODDraft *somSelf, Environment *ev,
  372.         ODStorageUnitID id)
  373. {
  374.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  375.     ODDraftMethodDebug("ODDraft","ODDraftAcquireLinkSource");
  376.  
  377.     WARN("A subclass should have overridden this method!");
  378.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  379.     
  380.     return kODNULL;
  381. }
  382.  
  383. SOM_Scope ODLink*  SOMLINK ODDraftAcquireLink(ODDraft *somSelf, Environment *ev,
  384.         ODStorageUnitID id,
  385.         ODLinkSpec* linkSpec)
  386. {
  387.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  388.     ODDraftMethodDebug("ODDraft","ODDraftAcquireLink");
  389.  
  390.     WARN("A subclass should have overridden this method!");
  391.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  392.     
  393.     return kODNULL;
  394. }
  395.  
  396. SOM_Scope void  SOMLINK ODDraftRemoveLink(ODDraft *somSelf, Environment *ev,
  397.         ODLink* link)
  398. {
  399.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  400.     ODDraftMethodDebug("ODDraft","ODDraftRemoveLink");
  401.  
  402.     WARN("A subclass should have overridden this method!");
  403.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  404. }
  405.  
  406. SOM_Scope ODPersistentObjectID  SOMLINK ODDraftGetPersistentObjectID(ODDraft *somSelf, Environment *ev,
  407.         ODPersistentObject* object,
  408.         ODObjectType    objectType)
  409. {
  410.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  411.     ODDraftMethodDebug("ODDraft","ODDraftGetPersistentObjectID");
  412.  
  413.     WARN("A subclass should have overridden this method!");
  414.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  415.     
  416.     return kODNULLID;
  417. }
  418.  
  419. SOM_Scope ODPersistentObject*  SOMLINK ODDraftAcquirePersistentObject(ODDraft *somSelf, Environment *ev,
  420.         ODPersistentObjectID objectID,
  421.         ODObjectType*    objectType)
  422. {
  423.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  424.     ODDraftMethodDebug("ODDraft","ODDraftAcquirePersistentObject");
  425.  
  426.     WARN("A subclass should have overridden this method!");
  427.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  428.     
  429.     return kODNULL;
  430. }
  431.  
  432. /*
  433.  *  private by convention
  434.  */
  435.  
  436. SOM_Scope void  SOMLINK ODDraftRemoveLinkSource(ODDraft *somSelf, Environment *ev,
  437.         ODLinkSource* link)
  438. {
  439.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  440.     ODDraftMethodDebug("ODDraft","ODDraftRemoveLinkSource");
  441.  
  442.     WARN("A subclass should have overridden this method!");
  443.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  444. }
  445.  
  446. SOM_Scope void  SOMLINK ODDraftInitDraft(ODDraft *somSelf, Environment *ev,
  447.         ODDocument* document,
  448.         ODDraftID id,
  449.         ODDraftPermissions perms)
  450. {
  451.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  452.     ODDraftMethodDebug("ODDraft","ODDraftInitDraft");
  453. }
  454.  
  455. SOM_Scope void  SOMLINK ODDraftReleaseFrame(ODDraft *somSelf, Environment *ev,
  456.         ODFrame* frame)
  457. {
  458.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  459.     ODDraftMethodDebug("ODDraft","ODDraftReleaseFrame");
  460.  
  461.     WARN("A subclass should have overridden this method!");
  462.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  463. }
  464.  
  465. SOM_Scope void  SOMLINK ODDraftReleasePart(ODDraft *somSelf, Environment *ev,
  466.         ODPart* part)
  467. {
  468.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  469.     ODDraftMethodDebug("ODDraft","ODDraftReleasePart");
  470.  
  471.     WARN("A subclass should have overridden this method!");
  472.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  473. }
  474.  
  475. SOM_Scope void  SOMLINK ODDraftReleaseLink(ODDraft *somSelf, Environment *ev,
  476.         ODLink* link)
  477. {
  478.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  479.     ODDraftMethodDebug("ODDraft","ODDraftReleaseLink");
  480.  
  481.     WARN("A subclass should have overridden this method!");
  482.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  483. }
  484.  
  485. SOM_Scope void  SOMLINK ODDraftReleaseLinkSource(ODDraft *somSelf, Environment *ev,
  486.         ODLinkSource* linkSource)
  487. {
  488.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  489.     ODDraftMethodDebug("ODDraft","ODDraftReleaseLinkSource");
  490.  
  491.     WARN("A subclass should have overridden this method!");
  492.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  493. }
  494.  
  495. SOM_Scope ODDraft*  SOMLINK ODDraftReleaseStorageUnit(ODDraft *somSelf, Environment *ev,
  496.         ODStorageUnitID id)
  497. {
  498.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  499.     ODDraftMethodDebug("ODDraft","ODDraftReleaseStorageUnit");
  500.  
  501.     WARN("A subclass should have overridden this method!");
  502.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  503.     
  504.     return kODNULL;
  505. }
  506.  
  507. SOM_Scope ODLinkSourceIterator*  SOMLINK ODDraftCreateLinkSourceIterator(ODDraft *somSelf, Environment *ev)
  508. {
  509.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  510.     ODDraftMethodDebug("ODDraft","ODDraftCreateLinkSourceIterator");
  511.  
  512.     WARN("A subclass should have overridden this method!");
  513.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  514.     
  515.     return kODNULL;
  516. }
  517.  
  518. SOM_Scope ODLinkIterator*  SOMLINK ODDraftCreateLinkIterator(ODDraft *somSelf, Environment *ev)
  519. {
  520.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  521.     ODDraftMethodDebug("ODDraft","ODDraftCreateLinkIterator");
  522.  
  523.     WARN("A subclass should have overridden this method!");
  524.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  525.     
  526.     return kODNULL;
  527. }
  528.  
  529. SOM_Scope void  SOMLINK ODDraftsomUninit(ODDraft *somSelf)
  530. {
  531.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  532.     ODDraftMethodDebug("ODDraft","ODDraftsomUninit");
  533.  
  534.     ODDraft_parent_ODRefCntObject_somUninit(somSelf);
  535. }
  536.  
  537. SOM_Scope void  SOMLINK ODDraftAcquire(ODDraft *somSelf, Environment *ev)
  538. {
  539.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  540.     ODDraftMethodDebug("ODDraft","ODDraftAcquire");
  541.  
  542.     ODDraft_parent_ODRefCntObject_Acquire(somSelf,ev);
  543. }
  544.  
  545. SOM_Scope void  SOMLINK ODDraftRelease(ODDraft *somSelf, Environment *ev)
  546. {
  547.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  548.     ODDraftMethodDebug("ODDraft","ODDraftRelease");
  549.  
  550.     ODDraft_parent_ODRefCntObject_Release(somSelf,ev);
  551. }
  552.  
  553. SOM_Scope ODPart*  SOMLINK ODDraftConstructRealPart(ODDraft *somSelf, Environment *ev,
  554.         ODStorageUnit* su, ODBoolean isInitPartFromStorage,
  555.         ODPartWrapper* partWrapper,
  556.         ODType partType, ODEditor optionalEditor)
  557. {
  558.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  559.     ODDraftMethodDebug("ODDraft","ODDraftConstructRealPart");
  560.  
  561.     WARN("A subclass should have overridden this method!");
  562.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  563.     
  564.     return kODNULL;
  565. }
  566.  
  567. SOM_Scope void  SOMLINK ODDraftReleaseRealPart(ODDraft *somSelf, Environment *ev,
  568.     ODPart* part)
  569. {
  570.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  571.     ODDraftMethodDebug("ODDraft","ODDraftReleaseRealPart");
  572.  
  573.     WARN("A subclass should have overridden this method!");
  574.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  575. }
  576.  
  577. SOM_Scope void  SOMLINK ODDraftDeleteRealPart(ODDraft *somSelf, Environment *ev,
  578.     ODPart* part)
  579. {
  580.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  581.     ODDraftMethodDebug("ODDraft","DeleteRealPart");
  582.  
  583.     WARN("A subclass should have overridden this method!");
  584.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  585. }
  586.  
  587. SOM_Scope void  SOMLINK ODDraftSwapPart(ODDraft *somSelf, Environment *ev,
  588.     ODPart* part)
  589. {
  590.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  591.     ODDraftMethodDebug("ODDraft","SwapPart");
  592.  
  593.     WARN("A subclass should have overridden this method!");
  594.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  595. }
  596.  
  597.